package org.dromara.business.domain;

import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serial;

/**
 * 统一内容评论对象 t_content_comment
 *
 * @author Hao Tong Xue
 * @date 2025-04-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_content_comment")
public class ContentComment extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 评论ID
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 关联的内容ID（视频/音频/文章等）
     */
    private Long contentId;

    /**
     * 内容类型：1-视频，2-音频，3-文章
     */
    private Integer contentType;

    /**
     * 父评论ID（0表示顶级评论）
     */
    private Long parentId;

    /**
     * 回复的目标用户ID
     */
    private Long replyToUserId;

    /**
     * 评论内容
     */
    private String commentText;

    /**
     * 点赞数
     */
    private Integer likeCount;

    /**
     * 回复数
     */
    private Long replyCount;

    /**
     * 是否置顶：0-否，1-是
     */
    private Integer isTop;

    /**
     * 是否精选：0-否，1-是
     */
    private Integer isFeatured;

    /**
     * 删除标志（0-存在，1-删除）
     */
    @TableLogic
    private String delFlag;

    /**
     * 备注
     */
    private String remark;

    /**
     * 所属顶级父评论ID（0表示本身就是顶级评论）
     */
    private Long rootId;
}
